Spice It Up! Enriching Open World NPC Simulation Using Constraint Satisfaction
نویسندگان
چکیده
With more computing power available, video games may spare increasing amounts of processing time for AI. One prospective application of the newly available resources is the simulation of large amounts of nonplayer characters (NPCs) in open world games. While it is relatively easy to simulate simple behaviours of individual NPCs it is much more difficult to create meaningful interactions between the NPCs. However, without interaction, the world cannot look very alive. In this paper we present a technique that enriches the NPC simulation with pre-scripted situations — short sketches involving coordinated interaction between several NPCs that do not substantially alter the state of the game world but increase the appeal of the world to the player. We use constraint satisfaction techniques to find NPCs suitable to enact the situations at runtime. We have implemented situations on top of the AI system for an upcoming AAA open-world game and show that this approach satisfies functional and computational requirements for practical deployment in the final version of the game. Crowd simulations are a well-studied subject from the point of view of academic AI and its applications as an aid to make decisions about complex system in urban planning, computational biology and other areas. It is also an interesting inspiration for creating believable worlds for video games with many non-player characters (NPCs). Examples of recent games with large crowds are the Dead Rising and Assasin’s Creed series (Capcom 2013; Ubisoft 2013). The two aforementioned games, along with most others, build on simple crowd simulation approaches: they feature large amounts of NPCs with very basic decision making — NPCs simply select one of few prescripted behaviours (walk, approach player, flee from player, etc.). Importantly, the NPCs are autonomous and independent, although coordination may emerge from the individual behaviours. Coordinated behaviour on a low level emerges easily from simple individual behaviours (e.g. flocking), but this is not the case for higher lever coordination which usually requires complex individual decision making. In addition, emergent phenomena are hard to debug and control. However games, unlike many other crowd simulation applications, are not reCopyright c © 2014, Association for the Advancement of Artificial Intelligence (www.aaai.org). All rights reserved. quired to be plausible models of the real world and thus may replace autonomy by centralized control. Recently we had the opportunity to work on an AI system for an AAA open-world game currently under development. Since the game should fully simulate hundreds of NPCs with their daily routines and needs, the game essentially features an interactive crowd simulation. In our previous work, we have created Smart Areas (Cerny et al. 2014) — parts of the virtual space that carry behavioural information for NPCs that enter them. For example, instead of NPCs knowing how to behave in a pub, it is the pub that knows how NPCs should behave inside it. This promotes easy extensibility of the environment with new behaviours and it eases development: the communication protocol between the innkeeper and the guests, the management of free seats and other data structures is kept at one place in the code. This allowed us to distribute and divide the complexity of the behaviours into clearly separated units. Still, the NPCs spent a lot of time “in transit” between the various Smart Areas and while the streets and roads of our virtual world were not empty, they lacked interaction between the NPCs who simply walked past each other. We aimed to increase the appeal of the simulated world and make it appear more “alive”. Literature on crowd simulation provides inspiration for good implementation of lowlevel behaviours and interaction of the NPCs (gaze control, collision avoidance, . . . ), but there are fewer guidelines how to introduce higher level interaction (e.g., small talk, petty crime). At the same time, design and computing power restrictions severely limit the acceptable complexity of NPCs. To enrich the simulation of our world without the need to increase complexity of the individual NPCs, we have created what we call situations. A situation is a short scripted scene that involves multiple interacting NPCs taking individual roles in the situation. Each role imposes requirements for an NPC to be allowed to take it. For example a situation called “Beggar”, where a rich man shows contempt for a poor beggar and gives him some money has two roles: the beggar and the benefactor. Only poor NPCs may take the role of the beggar and only rich ones the role of the benefactor. Moreover the two NPCs must be close to each other to enact the situation promptly and safely. In our scenario the goal is to select 2-5 participants meeting various constraints from a pool of several dozen Proceedings of the Tenth Annual AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment (AIIDE 2014)
منابع مشابه
Digital very-large-scale integration (VLSI) Hopfield neural network implementation on field programmable gate arrays (FPGA) for solving constraint satisfaction problems
This paper discusses the implementation of Hopfield neural networks for solving constraint satisfaction problems using field programmable gate arrays (FPGAs). It discusses techniques for formulating such problems as discrete neural networks, and then it describes the N-Queen problem using this formulation. Finally results will be presented which compare the computation times for the custom comp...
متن کاملInteractive Interaction Constraints
Interaction constraints are an expressive formalism for describing coordination patterns, such as those underlying the coordination language Reo, that can be efficiently implemented using constraint satisfaction technologies such as SAT and SMT solvers. Existing implementations of interaction constraints interact with external components only in a very simple way: interaction occurs only betwee...
متن کاملOpen Constraint Satisfaction
Traditionally, constraint satisfaction has been applied in closedworld scenarios, where all choices and constraints are known from the beginning and fixed. With the Internet, many of the traditional CSP applications in resource allocation, scheduling and planning pose themselves in open-world settings, where choices and constraints are to be discovered from different servers in a network. We ex...
متن کاملOpen World Planning as SCSP
Planning for the real world requires the ability to sense and reason about an arbitrary number of entities and relations that are not known in advance. However, most satisfaction-based planning systems only reason about a fixed number of given unique fiuents. This article presents the planning model of the constraintbased EXCALIBUR agent’s planning system. The model is based on structural const...
متن کاملOpen constraint programming
Traditionally, constraint satisfaction problems (CSP) have assumed closed-world scenarios where all domains and constraints are fixed from the beginning. With the Internet, many of the traditional CSP applications in resource allocation, scheduling and planning pose themselves in open-world settings, where domains and constraints must be discovered from different sources in a network. To model ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014